package aaa

import (
	"os"
	"os/signal"

	"gitee.com/mad-wud/lin"
	"github.com/gin-gonic/gin"
)

var 路由_基础 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) string
var 路由_字节集 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) (字节集数据 []byte, err error)
var 路由_文件 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) (响应文件路径 string, err error)

func C初始化环境(路由 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) string, 路由字节集 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) (字节集数据 []byte, err error), 路由文件 func(方法名 string, 参数列表 lin.L列表, ctx *gin.Context) (响应文件路径 string, err error)) {
	Ws广播.C初始化()
	Ws标识.C初始化()
	路由_基础 = 路由
	路由_字节集 = 路由字节集
	路由_文件 = 路由文件
	Q_响应.C初始化()
	Q_响应.T添加方法("lindk获取服务器地址lindk", 基础响应)
	启动界面()
}
func 基础响应(参数列表 lin.L列表) string {
	return F_文本.C创建文本("localhost:{1}", Q_后端服务器端口)
}
func 启动界面() {

	等待 := make(chan int, 1)
	go Q启动后端服务器(&等待)
	<-等待
	go S开发监测ctrl加c退出事件()
	文件位置 := F_文件.QX取运行目录() + "/界面开发环境/jm.exe"
	if F_文件.P判断文件_是否存在(文件位置) {
		err := F_主窗口程序.Y运行程序(文件位置, true)
		if err != nil && !主动退出 {
		Q_系统jie.X信息框("错误", "启动失败:"+err.Error(), 1)
		}
	} else {
		err := F_主窗口程序.Y运行程序("./jm.exe", true)
		if err != nil && !主动退出 {
			Q_系统jie.X信息框("错误", "启动失败:"+err.Error(), 1)
		}
	}

}

func S开发监测ctrl加c退出事件() {
	监测通道 := make(chan os.Signal, 1)
	signal.Notify(监测通道, os.Interrupt)
	<-监测通道
	主动退出=true
	F_主窗口程序.G关闭程序()

}
